iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 6
0
自我挑戰組

SDN/NFV 網路虛擬化調度平台系列 第 6

Day 6 - Kubernetes Multus CNI 介紹

  • 分享至 

  • xImage
  •  

前言

透過多個網路介面的網路功能來提供控制和管理 Control plane 與 User plane 的網路分離。
同時也可以用來支援不同的 protocols 或 software stacks 以及支援不同的調整和配置要求。
Intel 通過貢獻 Multus Container Network Interface(CNI)Plug-in 促進了 Container 的 NFV 使用環境。

Multus CNI

Multus 可以為運行在 Kubernetes 的 POD 提供多個網路介面,也可以將多個 CNI Plug-in 組合在一起為 POD 配置不同類型的網路;Multus還支援使用 Kubernetes CRD 為不同的 POD 提供不同數量的單一或多網路配置,為Kubernetes 底下的網路解決方案提供了更加廣闊的空間。
https://ithelp.ithome.com.tw/upload/images/20190922/20121070RZk7emsFY7.png
Multus 使用 delegates 的概念將多個 CNI Plug-in 組合起來,因此在使用上會先決定出一個主要的 CNI (Master CNI)當作 POD 的主要網路介面並且被 Kubernetes 所管理,另外 Multus 本身並不提供網路配置,是透過滿足其他 CNI 規範的 Plug-in 進行 container 的網路配置。

Multus Workflow in Kubernetes

https://ithelp.ithome.com.tw/upload/images/20190922/20121070G1XQkwhjJ9.png

  1. 首先會由 kubelet 呼叫 RunPod() 開始啟動 container;
  2. setUpPod() 呼叫網路配置 Plug-in;
  3. 網路配置 Plug-in 根據 kubernetes 配置(預設位置為 /etc/cni/net.d/ 下) 呼叫 Multus。
  4. Multus 首先呼叫主要的 Plug-in, 之後呼叫其他的 Plug-in 建立相應的 interface。

Multus 支援的 CNI plugin:

  • CNI 開發的 Plug-in (例如 DHCP,Macvlan,Flannel等)
  • 第三方 Plug-in (例如 Calico,Weave等)
  • 其他 (例如 SRIOV,SRIOV-DPDK,OVS-DPDK等)

Reference

https://01.org/zh/kubernetes/building-blocks/multus-cni?langredirect=1
https://github.com/intel/multus-cni


上一篇
Day 5 - Kubernetes kubelet, kubeadm, kubectl 介紹
下一篇
Day 7 - Kubernetes Multus CNI 實作 I
系列文
SDN/NFV 網路虛擬化調度平台30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言